package com.houxm.demo;

import java.util.List;

import com.houxm.jbapu.Jbapu;

public class Demo {

	public static void main(String[] args) {
		/**
		 * 预先建立MySql数据库bapu，然后创建member表：
		 * CREATE SCHEMA `bapu` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ;
		 * CREATE TABLE `bapu`.`member` (
			  `id` INT NOT NULL AUTO_INCREMENT,
			  `name` VARCHAR(45) NULL,
			  `age` INT NULL,
			  `province` VARCHAR(45) NULL,
			  PRIMARY KEY (`id`));
		 */
		Jbapu bapu = new Jbapu();
		bapu.set("name", "张三");
		bapu.set("age", 20);
		bapu.set("province", "北京");
		bapu.save("member");
		
		Jbapu bapu2 = new Jbapu();
		bapu2.set("name", "李四");
		bapu2.set("age", 23);
		bapu2.set("province", "北京");
		//注意：当MySql中有两个数据库同时有member表时，必须
		bapu2.save("bapu.member");
		
		bapu.clear();
		bapu.set("name", "王五");
		bapu.set("age", 25);
		bapu.set("province", "上海");
		bapu.save("member");
		
		System.out.println("根据sql查询多条结果：");
		List<Jbapu> list = Jbapu.o.find("select * from member where age>?", 21);
		for (int i = 0; i < list.size(); i++) {
			Jbapu bp = list.get(i);
			System.out.println("ID："+bp.get("id")+"\t姓名："+bp.getStr("name")
				+"\t年龄："+bp.getInt("age")+"\t省份："+bp.getStr("province"));
		}
		
		System.out.println();
		System.out.println("根据sql查询首条结果（1条）：");
		Jbapu b = Jbapu.o.findFirst("select * from member where age>?", 21);
		System.out.println("ID："+b.get("id")+"\t姓名："+b.getStr("name")
		+"\t年龄："+b.getInt("age")+"\t省份："+b.getStr("province"));
		
		b.set("province", "天津");
		//update方法是根据表中的主键进行更新数据的，需要先查询数据，使Jbapu实例中有表主键（ID）的值后，才可进行update。
		b.update("bapu.member");
		
		//如果你知道要修改的表的主键的值，没必要先从表中查询数据，可以直接new Jbapu()进行修改。如下：
		Jbapu b2 = new Jbapu();
		b2.set("id", 2);
		b2.set("province", "河北");
		b2.update("member");
	}

}
